package main

import (
	"fmt"
)

func main() {
	// 条件判断switch
	/*
		switch expression {
		case condition:
			pass

			...
		}
	*/

	// var extname = ".js"
	// switch extname {
	// 	case ".html":
	// 		fmt.Println("text/html")
	// 		// break
	// 	case ".css":
	// 		fmt.Println("text/css")
	// 		// break
	// 	case ".js":
	// 		fmt.Println("text/javascript")
	// 		// break
	// 	default:
	// 		fmt.Println("Not Found")
	// }

	// // 局部作用域
	// switch temp := ".css";temp {
	// 	case ".html":
	// 		fmt.Println("text/html")
	// 		break
	// 	case ".css":
	// 		fmt.Println("text/css")
	// 		break
	// 	case ".js":
	// 		fmt.Println("text/javascript")
	// 		break
	// 	default:
	// 		fmt.Println("Not Found")
	// }
	
	// // 一个分支多个值
	// var n = 8
	// switch n {
	// case 1, 3, 5, 7, 9:
	// 	fmt.Println("奇数")
	// 	break
	// default:
	// 	fmt.Println("偶数")
	// } 

	// // case跟表达式，则switch后不需要跟判断变量
	// switch {
	// case n<8:
	// 	fmt.Println("n小于8")
	// 	break
	// default:
	// 	fmt.Println("n大于等于8")
	// }

	// switch 的穿透 fallthrough
	// fallthrough 可以执行满足条件的case的下一个case，为了兼容c语言中的case设计
	// 一次只能穿透一层
	var age = 30
	switch {
	case age<24:
		fmt.Println("好好学习")
	case age>=24 && age<=60:
		fmt.Println("好好赚钱")
		fallthrough
	case age>60:
		fmt.Println("注意身体")
	default:
		fmt.Println("输入错误")
	}

	 
}